Gesture recognition and control based on finger differentiation

ABSTRACT

An embodiment of a computer implemented method of performing a processing action includes detecting an input from a user via an input device of a processing device, the input including a touch by at least one finger of a plurality of fingers of the user, estimating a gesture performed by the at least one finger based on the touch, measuring at least part of a fingerprint of the at least one finger, and identifying the at least one finger used to apply the input by the user based on stored fingerprint data that differentiates between individual fingers of the user. The method also includes identifying an action to be performed based on the estimated gesture and based on the identified at least one finger, and performing the action by the processing device.

DOMESTIC PRIORITY

This application is a continuation of U.S. Non-Provisional applicationSer. No. 14/950,630, entitled “GESTURE RECOGNITION AND CONTROL BASED ONFINGER DIFFERENTIATION”, filed Nov. 24, 2015, which is incorporatedherein by reference in its entirety.

BACKGROUND

The present invention relates generally to touchscreen control, and morespecifically, to sensing control actions based at least in part onfingerprint pattern identification.

Touchscreens have become increasing popular features of computingdevices, particularly of portable or mobile devices, such as tablets andsmartphones. Users typically interact with touchscreens by controllingprocessing operations using various gestures, such as stationary touchesand swipes. In recent years, wearable devices such as fitness trackersand smartwatches have become more popular. In order to make such deviceswearable, their size, and correspondingly the size of theirtouchscreens, is typically significantly smaller than that ofsmartphones or other mobile devices. The size restrictions associatedwith such devices can prove challenging, particularly due to limitationsin gestures that can be performed on relatively small touchscreens.

SUMMARY

An embodiment of a computer implemented method of performing aprocessing action includes detecting an input from a user via an inputdevice of a processing device, the input including a touch by at leastone finger of a plurality of fingers of a user or one or more of aplurality of users, estimating a gesture performed by the at least onefinger based on the touch, measuring at least part of a fingerprint ofthe at least one finger, and identifying the at least one finger used toapply the input based on stored fingerprint data that differentiatesbetween individual fingers of the user or the one or more users. Themethod also includes identifying an action to be performed based on theestimated gesture and based on the identified at least one finger, andperforming the action by the processing device.

An embodiment of an apparatus for performing a processing actionincludes an input device configured to receive an input from a user, theinput including a touch by at least one finger of a plurality of fingersof the user, a touch sensor configured to detect the touch by a user orone or more of a plurality of users, and a finger pattern sensorconfigured to measure at least part of a fingerprint of the at least onefinger. The apparatus also includes a processing device configured toperform estimating a gesture performed by the at least one finger basedon the touch, identifying the at least one finger used to apply theinput based on stored fingerprint data that differentiates betweenindividual fingers of the user or the one or more users, identifying anaction to be performed based on the estimated gesture and based on theidentified at least one finger, and performing the action.

An embodiment of a computer program product for performing a processingaction includes a computer readable storage medium having programinstructions embodied therewith, wherein the computer readable storagemedium is not a signal, the program instructions readable by aprocessing circuit to cause the processing circuit to perform a method.The method includes detecting an input from a user via an input deviceof a processing device, the input including a touch by at least onefinger of a plurality of fingers of a user or one of a plurality ofusers, estimating a gesture performed by the at least one finger basedon the touch, measuring at least part of a fingerprint of the at leastone finger, and identifying the at least one finger used to apply theinput based on stored fingerprint data that differentiates betweenindividual fingers of the user or the one or more users. The method alsoincludes identifying an action to be performed based on the estimatedgesture and based on the identified at least one finger, and performingthe action by the processing device.

BRIEF DESCRIPTION OF THE DRAWINGS

The subject matter which is regarded as embodiments is particularlypointed out and distinctly claimed in the claims at the conclusion ofthe specification. The forgoing and other features, and advantages ofthe embodiments are apparent from the following detailed descriptiontaken in conjunction with the accompanying drawings in which:

FIG. 1 depicts a processing device in accordance with an embodiment;

FIG. 2 depicts an embodiment of a mobile device in accordance with anembodiment

FIG. 3 depicts an embodiment of a wearable mobile device in accordancewith an embodiment;

FIG. 4 depicts examples of processing modules configured to performaspects of embodiments of a method of detecting and processing inputs toa processing device; and

FIG. 5 is a flow diagram depicting an embodiment of a method ofdetecting and processing inputs to a processing device

FIG. 6 depicts examples of gestures and finger combinations that can beused as inputs to a processing device according to embodiments describedherein.

DETAILED DESCRIPTION

Apparatuses, systems and methods are provided for detecting user inputsand performing processing and/or display actions. An embodiment of aprocessing device, such as a smartphone or wearable mobile device, isconfigured to detect an input from a user, such as a touch by at leastone finger of a plurality of fingers of the user. In one embodiment, theprocessing device includes a touchscreen, on which a gesture such as astationary touch or swipe can be applied. The processing device includesa touch sensor for detecting the gesture, and a finger pattern sensorfor detecting a finger print, a portion of a fingerprint, combinationsof features or other patterns discernable for differentiating betweendifferent users and different fingers of an individual user.

The processing device is configured to estimate the gesture, measure atleast part of a fingerprint of a finger or fingers used by the user toapply the input, and identify the individual finger or fingers used. Thecombination of the gesture and identification of the fingers used iscorrelated or associated with a specific action to be performed by theprocessing device.

It is noted that, although embodiments are described herein in thecontext of a single user, they are not so limited. For example, theindividual finger or fingers can be identified and associated with oneof a plurality of users, thus identifying an action may be based on bothan identification of the finger(s) used and also an identification of aspecific user applying each finger. In this way, the same or similargesture and finger(s) used can trigger a different action depending onwhich user is applying an input. In another example, identifying anaction may be based on multiple users applying an input, therebyallowing for an action to be identified and performed based on aspecific combination of multiple users and/or finger(s) used by each ofthe multiple users.

The embodiments described herein present greatly enhanced functionalityand ability to apply a large number of different inputs to a relativelysmall input space, such as a touchscreen of a smartwatch. Based ondifferentiating between each finger of a user, a gesture with one finger(e.g., an index finger) can prompt a specific action, while the samegesture with a different finger (e.g., a middle or ring finger) can beused to prompt a completely different action.

FIG. 1 illustrates an example of a computing device 10 that can be usedto perform various actions, including receiving and processing userinputs and performing various processing actions as described herein,including storing and processing data, executing programs and displayinginformation. The device 10 may be configured to receive or gathercommunications (e.g., data, text, spoken words, emails, authenticationinformation, etc.) from other locations, such as a network (e.g.,Internet) and/or another processor (e.g., server, computer or mobiledevice). The device 10 may be any device capable of receiving userinput, performing processing actions and displaying text and otherinformation to a user, such as a mobile device (e.g., a smartphone), awearable device (e.g., a smartwatch and/or fitness tracker), a tabletcomputer, a laptop computer, a desktop computer, a mainframe a serverand others.

The device 10 includes various components and/or modules for performingvarious processing, sensing and display functions. The device 10includes one or more processors or processing units 12, a memory 14, anda bus 16 that couples various components including the memory 14 to theprocessor 12.

The memory 14 includes computer readable media in the form of volatilememory, such as random access memory (RAM) 18 and/or cache memory 20.The device 10 may also include other removable/non-removable,volatile/non-volatile computer system storage media. For example, thememory 14 includes storage 22 including a non-removable, non-volatilemagnetic media (e.g., a hard drive), and/or removable storage media suchas a memory card or flash drive. The memory 14 may include at least oneprogram product having a set (e.g., at least one) of program modulesthat are configured to carry out the functions of embodiments describedherein. For example, the memory 14 stores a program or utility suite 24including one or more program modules 26 to carry out the functionsand/or methodologies of embodiments described herein.

The device 10 includes or is connected to various components, which maybe incorporated in the device 10 or external to the device 10. Thedevice 10 includes interfaces 28 for communication with components andmay also include a network adapter 30 for communication with otherdevices or components over a suitable network or remote connection. Thedevice 10 is connected to or includes at least one input device 32 suchas a keyboard, button, mouse and/or touchscreen, and a display 34. Thecomponents shown in FIG. 1 and described herein are provided forillustrative purposes and are not intended to be limiting.

The device 10 also includes a touch sensor 36 that is configured todetect contact and/or pressure from a user, e.g., via one or morefingers, and may also detect contact from other body parts (e.g., ear orwrist) and/or other input devices such as styluses. The touch sensor 36detects not only finger position, but also movements along atouchscreen. Movements of a finger or finger used an inputs to thedevice 10 are referred to herein as movements, motions or swipes. Inthis way, the touch sensor 36 may be used by the device 10, e.g., inconjunction with other input devices and program modules 26, torecognize a gesture performed by a user.

As described herein, a gesture refers to any interaction between a userand a touchscreen or other input device. A gesture may be a touch atsome location on the touchscreen by an object (e.g., one or morefingers), a movement or swipe of the touching object or a combinationthereof. The movement may include an extent (e.g., distance along a pathof the touch), speed and/or path of the movement along the touchscreen.Other aspects of a gesture may include, for example, an amount ofpressure, number of touches (e.g., single “click” or double click), andany other criteria that may be used to discern the nature of the gestureand differentiate it relative to other gestures.

Any suitable type of touch sensor 36 may be included in the device. Forexample, the touch sensor 36 is a capacitive or acoustic wave sensor.The touch sensor 36 may be located under a touchscreen or embeddedwithin the touchscreen (e.g., between screen layers).

The device 10 also includes a biometric finger pattern sensor 38 that isconfigured to detect characteristics of a user's finger, such as afingerprint, portion of a fingerprint, or other characteristic thatallows, e.g., identification of a user and/or differentiation betweenindividual fingers of a user. Such characteristics, whether utilizedindividually or in combination, are referred to herein as “fingerpatterns.” A “finger pattern” refers to any detectable feature orfeatures, or any other identifying information detected by the fingerpattern sensor that can be used to identify characteristics ofindividual fingers of a user's hand and/or differentiate betweenfingers.

Although the finger pattern sensor 38 may be configured solely to detectfingerprints or other finger patterns, it may also detect othercharacteristics of a user, such as temperature, vein pattern andheartrate. One or more of these additional characteristics may be usedin conjunction with fingerprint patterns to identify a user and/ordifferentiate between a user's fingers. An example of a fingerprintpattern sensor is a capacitive sensor. The finger pattern sensor 38, inone example, is embedded in or below a touchscreen or a portion of atouchscreen. For example, the finger pattern sensor is a fingerprintsensor disposed (e.g., as a layer under the touchscreen glass) in thetouchscreen.

In addition to finger pattern information, one or more sensors can beincluded for measuring other biometric information, such as types offinger movement (e.g., swiping, finger pressure, finger rolling), andvital signs (e.g., heart rate and temperature). It is noted that thetouch sensor and fingerprint sensor may be configured as individualsensors or sensor assemblies, or integrated into a common sensorassembly that is used by various processing modules to detect gesturesand analyze fingerprint patterns.

Various other components may be incorporated in the device 10. Forexample, an optical sensor 40 (e.g., camera, infrared sensor, etc.) canbe used for recording biometric characteristics such as facial featuresand eye movements. A microphone 42 or other sound recording device maybe included for recording voice commands and recording changes in voiceor other audible indicators.

The device 10 is configured to perform various actions in response touser gestures, based on both an estimation of the nature of the gesture(e.g., position, extent, path, speed etc.) and an identification of atleast a portion of a finger pattern of a user. In one embodiment, thedevice 10 is configured to, in response to detecting a gesture by a user(e.g., by detecting contact between a user's finger or fingers),identify the finger or fingers used via the finger pattern sensor 38,and associate an action to be performed based on the gesture and thespecific finger or fingers used to perform the gesture. This ability todifferentiate between fingers and associate actions with gesturescombined with identification of the finger(s) used, greatly increasesthe number of possible input combinations that can be identified. Thisability is also useful for devices such as smartwatches that havelimited screen area by significantly increasing the number of inputcombinations that would otherwise be possible or feasible.

FIGS. 2 and 3 show examples of the device 10 configured as a mobiledevice 50 that can incorporate the embodiments described herein. In theexample of FIG. 2, the mobile device 50 is portable device such as asmartphone or tablet. In the example of FIG. 3, the mobile device 50 isa wearable mobile device such as a smartwatch. In both examples, themobile device 50 includes at least one touchscreen 52. Each touchscreen52 defines at least one display area for display of program executionoutputs programs as executed by the device operating system andprograms. In these examples, the touchscreen 52 is shown as displaying anumber of icons 54 (e.g., application icons) or other visual indicatorsthat can be opened, moved and otherwise manipulated or interacted withusing a user's finger or fingers. Any number of additional componentscan be incorporated with the mobile device 50, such as one or morebuttons 56, one or more cameras, an optical sensor, biometric sensorsand/or additional screens.

All or a portion of the display area is configured both as a touchscreenand a finger pattern sensor. For example, capacitive detection circuityis embedded under or within the screen to allow for detection of bothtouch and gestures, as well as detection of finger patterns (e.g.,fingerprints, portions of fingerprints and/or feature combinationsassociated with fingerprints). Detection of finger patterns providesfunctionality to identify a user for authentication or securitypurposes, and to differentiate between different fingers of a user'shand. Furthermore, the finger pattern sensor may be configured to allowfor detection of different portions of an individual finger, so thatgestures such as finger rolling can be identified and/or differentportions of an individual finger can be associated with differentrespective actions (e.g., using the side of a finger can denote adifferent action than using the finger in a normal manner). A fingerpattern sensor can also be incorporated into other input devices, suchas in one or more buttons 56. In this way, buttons can be givenadditional functionality by inputting different commands based on whichfinger is being used to press a button.

Although the display area(s) described in these embodiments are definedby a touchscreen, they are not so limited. The display area may be anytype of display, such as a computer screen, touchscreen, virtual realitydisplay, holographic display or heads up display. Input can be detected(including finger pattern and gesture information), using any suitableinput device. For example, a touch pad, optical scanning device,digitizer or other suitable input device may be included.

FIG. 4 illustrates an embodiment of a program suite that includesvarious processing modules configured to perform aspects of the methodsdescribed herein. The program suite in this embodiment is embodied inthe device 10 and or the mobile device 50, but can be embodied in anysuitable processing device or system.

The mobile device 50 includes a processor or processing unit 60connected to a memory 62 and the touchscreen 52 via an appropriateinterface 64. One or more processing modules are stored in the memory,including an operating system 66 and stored programs and applications.

A control module 68 is configured to determine an appropriate command oraction to be performed in response to a particular combination of agesture and a finger pattern. An input module 70 receives signals from atouch sensor at or in the touchscreen, and also receives signals from afinger pattern sensor. The signals are input to a fingerprint module 72and a touch module 74 that process signals from the finger patternsensor and the touch sensor, respectively, to identify a gesture fromthe touch sensor signal and identify a finger and/or finger pattern fromthe finger pattern signal.

The control module 68 receives the gesture and the finger pattern, andassociates the combination of the gesture and the finger pattern with anassociated command or action to be performed. In one embodiment, thecontrol module 68 communicates with one or more databases 76 or otherstorage locations, which may be internal to the mobile device orexternal, e.g., at another location connected to the mobile device by adata network. The one or more databases 76 stores data (such as in atable or other suitable data structure) that associates differentcombinations of gestures and finger patterns with respective commands oractions. The command or actions associated with a given combination canbe pre-selected by the mobile device 50, or selected by a user during asetup or calibration operation.

FIG. 5 illustrates an embodiment of a method 80 of detecting andprocessing inputs to a processing device. Although the method 80 isdescribed in conjunction with the mobile device 50 (e.g., mobile deviceand/or wearable device), the method 80 can be utilized in conjunctionwith any of the processing devices and systems described herein, such asthe device 10, as well as with any device or system that includesdisplay capability. The method 80 includes a plurality of stagesrepresented by blocks 81-84, all of which can be performed sequentially.However, in some embodiments, one or more of the stages can be performedin a different order than that shown or fewer than the stages shown maybe performed.

At block 81, a user inputs a command to a processing device via an inputdevice (e.g., a touchscreen) using one or more fingers. In order toprovide a selected command (e.g., opening or closing a program orapplication, pausing an application, etc.), the user employs a specificgesture using one or more fingers. The gesture may be a stationary touchor a sweeping movement on a touchscreen.

For example, the user touches the smartwatch touchscreen 52 with one ofhis fingers. Depending on which finger and/or the number of fingers usedto touch the smartwatch, the control module 68 determines which specificaction is to be performed as described further below. In this example,the user touches the touchscreen with an index finger to open a selectedapplication. Touching the touchscreen with a different finger and/ordifferent number of fingers would prompt a different action, e.g.,opening a different application.

At block 82, the processing device detects a finger pattern of thefinger(s) applied to the touchscreen, such as a fingerprint or features(e.g., markers) associated with a fingerprint. The finger pattern isused to optionally identify the user. In some instances, the user hasalready been identified, e.g., based on previous inputs, and as such anexplicit identification is not necessary.

An example of a finger pattern is a fingerprint or portion thereof. Thefingerprint may be a full image of a fingerprint, or may be a set ofconstituent features that enable finger differentiation. Such featuresinclude, for example, locations where ridges and lines end, or where aridge splits in two. A finger may be identified by matching some groupof features with stored features associated with the user and finger.

The finger pattern is used to determine which finger or fingers was/wereapplied, and optionally identifies and authenticates the user. Forexample, the fingerprint module 72 receives a signal from a fingerpattern sensor, estimates the finger pattern, and correlates the fingerpattern with a user or provides the finger pattern to the control module68 or other suitable processing unit. If the user is authorized to usethe device and/or input the command, the method continues.

Based on the finger pattern, the device determines how many fingers havebeen used, and also identifies which finger by accessing stored datathat associates individual finger patterns with individual fingers. Forexample, the device determines that one finger was used, and identifiesthat the finger was the thumb, index finger, middle finger, ring fingeror pinky (little or fourth) finger. If multiple fingers were detected,the device may simply determine the number of fingers, or determine boththe number of fingers and an identification of the individual fingers.In addition to differentiating between fingers on one hand, the devicecan also differentiate between different hands. For example, the indexfinger on the right hand is differentiated from the index finger of theleft hand. In this way, touching the screen with a user's left handfinger can trigger a different action than touching the screen with theuser' right hand.

At block 83, the device (e.g., via the touch module 74) determines theinput gesture. A processing unit such as the control module 68correlates the combination of the gesture and the finger pattern with anaction to be performed by the device.

In the example of the user touching the smartwatch touchscreen 52 withan index finger, the control module receives the estimated gesture (astationary touch) and an identification that the index finger to open aselected application. The control module 68 accesses a data structureand/or storage location that associates different combinations ofgestures and finger patterns with respective actions. In this example,the control module 68 determines that a specific applicationcorresponding to a stationary touch with the index finger should beopened.

At block 84, the device performs the action. An example of an action isthe opening, execution, pausing and/or closing of a program orapplication. In the above example, the control module 68 performs anaction that includes opening the specific application in response to thetouch by the user's index finger.

FIG. 6 illustrates examples of gestures and combinations of gestures andfinger patterns that can be used in embodiments described herein. Anynumber of gestures 90 can be performed by a user by touching orotherwise interacting with a display area 92. In these examples, thedisplay area 92 is shown as at least part of a touchscreen 94 of asmartwatch 96. Examples of gestures 90 include stationary touches, andswipes or movements that follow different paths. In conjunction withidentifying the gesture 90 used as an input, the smartwatch 96 (i.e., aprocessor, processing unit or module in the device) determines a numberof fingers 98 and/or identifies the individual finger or fingers used inthe input. For example, a particular gesture such as a diagonal wipe (ora simple touch) is associated with a different action depending on thenumber of fingers used. In another example, a user can use a number offingers or a hand (e.g., the palm) to completely occlude thetouchscreen, for example, to close an application, turn off thesmartwatch or put the smartwatch into sleep mode.

In another example, the individual finger or fingers are identifiedalong with the gesture to determine an associated action. For example, aparticular type of swipe (e.g., vertical, horizontal or u-shape) isdetected, and the device determines that the finger used was the indexfinger. This combination is associated with an action of opening one ofa number of applications stored in the smartwatch 96. The same swipeusing a different finger (e.g., the middle finger) would prompt adifferent action, e.g., would open a different application.

Technical effects and benefits include the ability to support a largenumber of individually identifiable inputs by a user. Use of fingeridentification or differentiation greatly increases the number ofdistinct inputs and commands that may be applied to a given inputdevice. Furthermore, embodiments described herein offer advantages inthe context of wearable devices such as smartwatches, which typicallyinclude a relatively small touchscreen and thus a limited space on whichgestures can be performed.

The terminology used herein is for the purpose of describing particularembodiments only and is not intended to be limiting of the invention. Asused herein, the singular forms “a”, “an” and “the” are intended toinclude the plural forms as well, unless the context clearly indicatesotherwise. It will be further understood that the terms “comprises”and/or “comprising,” when used in this specification, specify thepresence of stated features, integers, steps, operations, elements,and/or components, but do not preclude the presence or addition of oneor more other features, integers, steps, operations, elements,components, and/or groups thereof.

The corresponding structures, materials, acts, and equivalents of allmeans or step plus function elements in the claims below are intended toinclude any structure, material, or act for performing the function incombination with other claimed elements as specifically claimed. Thedescription of the present invention has been presented for purposes ofillustration and description, but is not intended to be exhaustive orlimited to the invention in the form disclosed. Many modifications andvariations will be apparent to those of ordinary skill in the artwithout departing from the scope and spirit of the invention. Theembodiments were chosen and described in order to best explain theprinciples of the invention and the practical application, and to enableothers of ordinary skill in the art to understand the invention forvarious embodiments with various modifications as are suited to theparticular use contemplated.

The present invention may be a system, a method, and/or a computerprogram product at any possible technical detail level of integration.The computer program product may include a computer readable storagemedium (or media) having computer readable program instructions thereonfor causing a processor to carry out aspects of the present invention.

The computer readable storage medium can be a tangible device that canretain and store instructions for use by an instruction executiondevice. The computer readable storage medium may be, for example, but isnot limited to, an electronic storage device, a magnetic storage device,an optical storage device, an electromagnetic storage device, asemiconductor storage device, or any suitable combination of theforegoing. A non-exhaustive list of more specific examples of thecomputer readable storage medium includes the following: a portablecomputer diskette, a hard disk, a random access memory (RAM), aread-only memory (ROM), an erasable programmable read-only memory (EPROMor Flash memory), a static random access memory (SRAM), a portablecompact disc read-only memory (CD-ROM), a digital versatile disk (DVD),a memory stick, a floppy disk, a mechanically encoded device such aspunch-cards or raised structures in a groove having instructionsrecorded thereon, and any suitable combination of the foregoing. Acomputer readable storage medium, as used herein, is not to be construedas being transitory signals per se, such as radio waves or other freelypropagating electromagnetic waves, electromagnetic waves propagatingthrough a waveguide or other transmission media (e.g., light pulsespassing through a fiber-optic cable), or electrical signals transmittedthrough a wire.

Computer readable program instructions described herein can bedownloaded to respective computing/processing devices from a computerreadable storage medium or to an external computer or external storagedevice via a network, for example, the Internet, a local area network, awide area network and/or a wireless network. The network may comprisecopper transmission cables, optical transmission fibers, wirelesstransmission, routers, firewalls, switches, gateway computers and/oredge servers. A network adapter card or network interface in eachcomputing/processing device receives computer readable programinstructions from the network and forwards the computer readable programinstructions for storage in a computer readable storage medium withinthe respective computing/processing device.

Computer readable program instructions for carrying out operations ofthe present invention may be assembler instructions,instruction-set-architecture (ISA) instructions, machine instructions,machine dependent instructions, microcode, firmware instructions,state-setting data, configuration data for integrated circuitry, oreither source code or object code written in any combination of one ormore programming languages, including an object oriented programminglanguage such as Smalltalk, C++, or the like, and procedural programminglanguages, such as the “C” programming language or similar programminglanguages. The computer readable program instructions may executeentirely on the user's computer, partly on the user's computer, as astand-alone software package, partly on the user's computer and partlyon a remote computer or entirely on the remote computer or server. Inthe latter scenario, the remote computer may be connected to the user'scomputer through any type of network, including a local area network(LAN) or a wide area network (WAN), or the connection may be made to anexternal computer (for example, through the Internet using an InternetService Provider). In some embodiments, electronic circuitry including,for example, programmable logic circuitry, field-programmable gatearrays (FPGA), or programmable logic arrays (PLA) may execute thecomputer readable program instructions by utilizing state information ofthe computer readable program instructions to personalize the electroniccircuitry, in order to perform aspects of the present invention.

Aspects of the present invention are described herein with reference toflowchart illustrations and/or block diagrams of methods, apparatus(systems), and computer program products according to embodiments of theinvention. It will be understood that each block of the flowchartillustrations and/or block diagrams, and combinations of blocks in theflowchart illustrations and/or block diagrams, can be implemented bycomputer readable program instructions.

These computer readable program instructions may be provided to aprocessor of a general purpose computer, special purpose computer, orother programmable data processing apparatus to produce a machine, suchthat the instructions, which execute via the processor of the computeror other programmable data processing apparatus, create means forimplementing the functions/acts specified in the flowchart and/or blockdiagram block or blocks. These computer readable program instructionsmay also be stored in a computer readable storage medium that can directa computer, a programmable data processing apparatus, and/or otherdevices to function in a particular manner, such that the computerreadable storage medium having instructions stored therein comprises anarticle of manufacture including instructions which implement aspects ofthe function/act specified in the flowchart and/or block diagram blockor blocks.

The computer readable program instructions may also be loaded onto acomputer, other programmable data processing apparatus, or other deviceto cause a series of operational steps to be performed on the computer,other programmable apparatus or other device to produce a computerimplemented process, such that the instructions which execute on thecomputer, other programmable apparatus, or other device implement thefunctions/acts specified in the flowchart and/or block diagram block orblocks.

The flowchart and block diagrams in the Figures illustrate thearchitecture, functionality, and operation of possible implementationsof systems, methods, and computer program products according to variousembodiments of the present invention. In this regard, each block in theflowchart or block diagrams may represent a module, segment, or portionof instructions, which comprises one or more executable instructions forimplementing the specified logical function(s). In some alternativeimplementations, the functions noted in the blocks may occur out of theorder noted in the Figures. For example, two blocks shown in successionmay, in fact, be executed substantially concurrently, or the blocks maysometimes be executed in the reverse order, depending upon thefunctionality involved. It will also be noted that each block of theblock diagrams and/or flowchart illustration, and combinations of blocksin the block diagrams and/or flowchart illustration, can be implementedby special purpose hardware-based systems that perform the specifiedfunctions or acts or carry out combinations of special purpose hardwareand computer instructions.

The descriptions of the various embodiments of the present inventionhave been presented for purposes of illustration, but are not intendedto be exhaustive or limited to the embodiments disclosed. Manymodifications and variations will be apparent to those of ordinary skillin the art without departing from the scope and spirit of the describedembodiments. The terminology used herein was chosen to best explain theprinciples of the embodiments, the practical application or technicalimprovement over technologies found in the marketplace, or to enableothers of ordinary skill in the art to understand the embodimentsdisclosed herein.

What is claimed is:
 1. A method of performing a processing action, themethod comprising: detecting an input from a user via an input device ofa processing device, the input including a touch by at least one fingerof a plurality of fingers of a user or one or more of a plurality ofusers; estimating a gesture performed by the at least one finger basedon the touch; measuring at least part of a fingerprint of the at leastone finger, and identifying the at least one finger used to apply theinput based on stored fingerprint data that differentiates betweenindividual fingers of the user or the one or more users; identifying anaction to be performed based on the estimated gesture and based on theidentified at least one finger; and performing the action by theprocessing device.
 2. The method of claim 1, wherein the gesture isselected from at least one of a stationary touch and a swipe motionfollowing an identifiable approximate path on the touchscreen.
 3. Themethod of claim 1, wherein the input device is a button, and the gestureis a pressing of the button.
 4. The method of claim 1, wherein theprocessing device is a wearable mobile device.
 5. The method of claim 1,wherein identifying the action includes selecting from a plurality ofactions, the plurality of actions including a first action associatedwith the estimated gesture and a first finger, and a second differentaction associated with the estimated gesture and a second finger, thesecond finger different from the first finger.
 6. The method of claim 1,wherein identifying the action includes selecting from a plurality ofactions, the plurality of actions including a first action associatedwith the estimated gesture and a first number of fingers used by a user,and a second different action associated with the estimated gesture anda second number of fingers used by the user, the second number differentfrom the first number.
 7. The method of claim 1, wherein the estimatedgesture is a rolling gesture performed using the at least one individualfinger, the rolling gesture estimated based on a change in the at leastpart of the fingerprint.
 8. The method of claim 1, wherein measuringincludes identifying a number of fingers used by to apply the input.